	
<?php
	include 'header.php';
        session_start();
	
	$groupe = $_SESSION['groupe'];

	$tableau_general_serial = $_POST['generer'];
	$tableau_general = deserialiserTableau($tableau_general_serial);

	///////////////////////////////////////
	//////// GENERATION du XML
	///////////////////////////////////////
	
	///// recup mail par défaut 
	$mail_commun =recupIni("courriel");
	if (!isset($mail_commun))
		$mail_commun="nom.prenom@icbf.net";
		

	///// recup groupes nom_groupe_pour_ilias = csv2ilias(nom_groupe_dans_csv) 
	$groupes_communs = Array(
            
                "Local0" => csv2ilias(recupIni("local0")),
		"Local1" => csv2ilias(recupIni("local1")),
		"Local2" => csv2ilias(recupIni("local2")),
		"Local3" => csv2ilias(recupIni("local3")),
		"Local4" => csv2ilias(recupIni("local4")),
                "Local5" => csv2ilias(recupIni("local5")),
                "Local6" => csv2ilias(recupIni("local6"))
            
		);

	///// creation d'une chaine XML en utilisant le DOM	
	$xml= new DOMDocument("1.0", "ISO-8859-1");

	$racine = $xml->createElement("Users");
	$racine = $xml->appendChild($racine);

	while (list($action) = each($tableau_general)) {

		while (list($numero) = each($tableau_general[$action])) {

			$user = $xml->createElement("User");
			$user->setAttribute("Id", $tableau_general[$action][$numero][0]); /// id_eleve ou id_prof = $tableaucsv[$i][0]
			$user->setAttribute("Language", "fr"); /// par déft en français
			$user->setAttribute("Action", $action); /// $action = Insert ou Delete ou Ignore ou Update
			$user = $racine->appendChild($user);

				$active = $xml->createElement("Active"); // Inscription par l'utilisateur
				$active = $user->appendChild($active);
				$t_active = $xml->createCDATASection("true"); /// par deft true
				$t_active = $active->appendChild($t_active);

				///// Role GLOBAL Eleves/Professeurs (ELEVES ou PROFESSEURS)
				$role = $xml->createElement("Role");
				$role->setAttribute("Action", "Assign"); /// par deft Assign
//				$role->setAttribute("Id", strtoupper($groupe)); /// soit ELEVES soit PROF
				$role->setAttribute("Id", $groupe); /// soit ELEVES soit PROF
				$role->setAttribute("Type", "Global");
				$role = $user->appendChild($role);
				$t_role = $xml->createTextNode($groupe);
				$t_role = $role->appendChild($t_role);
				
				///// Role GLOBAL classe Eleves / classes Professeurs
				$nb_colonnes = 7;
                                
                                if ($groupe=="Eleves") {
                                    $prefixe_role = "ELE_";
                                } else {
                                    $prefixe_role = "PROF_";
                                }
                                
				for ($compteur_classes_xml = $nb_colonnes ; $compteur_classes_xml< sizeof($tableau_general[$action][$numero]); $compteur_classes_xml++) {
				
					$role = $xml->createElement("Role");
					$role->setAttribute("Action", "Assign"); /// par deft Assign
					$role->setAttribute("Id", $prefixe_role . $tableau_general[$action][$numero][$compteur_classes_xml]); /// role classe de l'élève ou PROF_classe
					$role->setAttribute("Type", "Global");
					$role = $user->appendChild($role);
					$t_role = $xml->createTextNode($prefixe_role . $tableau_general[$action][$numero][$compteur_classes_xml]);
					$t_role = $role->appendChild($t_role);
				}
				  
                                ///// Role LOCAL n°0 Eleves/Professeurs (Ensemble scolaire)
				$role = $xml->createElement("Role");
				$role->setAttribute("Action", "Assign"); /// par deft Assign
				$role->setAttribute("Id", $groupes_communs["Local0"]); /// role membre groupe administratif
				$role->setAttribute("Type", "Local");
				$role = $user->appendChild($role);
				$t_role = $xml->createTextNode($groupes_communs["Local0"]);
				$t_role = $role->appendChild($t_role);

				///// Role LOCAL classe Eleves/Professeurs
				$nb_colonnes = 7;
				for ($compteur_classes_xml = $nb_colonnes ; $compteur_classes_xml< sizeof($tableau_general[$action][$numero]); $compteur_classes_xml++) {
                                    
                                    $role = $xml->createElement("Role");
                                    $role->setAttribute("Action", "Assign"); /// par deft Assign
                                    $role->setAttribute("Id", csv2ilias($tableau_general[$action][$numero][$compteur_classes_xml])); /// role groupe scolaire
                                    $role->setAttribute("Type", "Local");
                                    $role = $user->appendChild($role);
                                    $t_role = $xml->createTextNode(csv2ilias($tableau_general[$action][$numero][$compteur_classes_xml]));
                                    $t_role = $role->appendChild($t_role);
                                }
                                
                                
                                if ($groupe=="Professeurs") {                               
                                
                                    ///// Role LOCAL n°1 Professeurs (Dossiers membres professeurs)
                                    $role = $xml->createElement("Role");
                                    $role->setAttribute("Action", "Assign"); /// par deft Assign
                                    $role->setAttribute("Id", $groupes_communs["Local1"]); /// role groupe scolaire
                                    $role->setAttribute("Type", "Local");
                                    $role = $user->appendChild($role);
                                    $t_role = $xml->createTextNode($groupes_communs["Local1"]);
                                    $t_role = $role->appendChild($t_role);

                                    ///// Role LOCAL n°6 Professeurs (Dossiers admin élèves)
                                    $role = $xml->createElement("Role");
                                    $role->setAttribute("Action", "Assign"); /// par deft Assign
                                    $role->setAttribute("Id", $groupes_communs["Local6"]); /// role groupe scolaire
                                    $role->setAttribute("Type", "Local");
                                    $role = $user->appendChild($role);
                                    $t_role = $xml->createTextNode($groupes_communs["Local6"]);
                                    $t_role = $role->appendChild($t_role);                               

                                } else {

                                    ///// Role LOCAL n°2 Eleves (Dossiers membres élèves)
                                    $role = $xml->createElement("Role");
                                    $role->setAttribute("Action", "Assign"); /// par deft Assign
                                    $role->setAttribute("Id", $groupes_communs["Local2"]); /// role membre groupe
                                    $role->setAttribute("Type", "Local");
                                    $role = $user->appendChild($role);
                                    $t_role = $xml->createTextNode($groupes_communs["Local2"]);
                                    $t_role = $role->appendChild($t_role);
                                    
                                }
                                
				///// Role LOCAL n°3 Eleves/Professeurs (Gr. de travail)
				$role = $xml->createElement("Role");
				$role->setAttribute("Action", "Assign"); /// par deft Assign
				$role->setAttribute("Id", $groupes_communs["Local3"]); /// role membre groupe administratif
				$role->setAttribute("Type", "Local");
				$role = $user->appendChild($role);
				$t_role = $xml->createTextNode($groupes_communs["Local3"]);
				$t_role = $role->appendChild($t_role);
				
				///// Role LOCAL n°4 Eleves/Professeurs (Ressources)
				$role = $xml->createElement("Role");
				$role->setAttribute("Action", "Assign"); /// par deft Assign
				$role->setAttribute("Id", $groupes_communs["Local4"]); /// role membre groupe
				$role->setAttribute("Type", "Local");
				$role = $user->appendChild($role);
				$t_role = $xml->createTextNode($groupes_communs["Local4"]);
				$t_role = $role->appendChild($t_role);	
                                
				///// Role LOCAL n°5 Eleves/Professeurs (CDI)
				$role = $xml->createElement("Role");
				$role->setAttribute("Action", "Assign"); /// par deft Assign
				$role->setAttribute("Id", $groupes_communs["Local5"]); /// role membre groupe
				$role->setAttribute("Type", "Local");
				$role = $user->appendChild($role);
				$t_role = $xml->createTextNode($groupes_communs["Local5"]);
				$t_role = $role->appendChild($t_role);                                
                                

				///// Login Eleves/Professeurs
				$login = $xml->createElement("Login");
				$login = $user->appendChild($login);
				$t_login = $xml->createCDATASection($tableau_general[$action][$numero][5]); /// login_eleve ou login_prof
				$t_login = $login->appendChild($t_login); /// correspond à ...
				
				/////  Mot de passe crypté MD5 Eleves/Professeurs
				$mdp = $xml->createElement("Password");
				$mdp->setAttribute("Type", "ILIAS3");
				$mdp = $user->appendChild($mdp);
				$t_mdp = $xml->createCDATASection(md5($tableau_general[$action][$numero][6])); /// mdp_eleve ou mdp_prof
				$t_mdp = $mdp->appendChild($t_mdp); /// correspond à ...
				
				///// Genre Eleves/Professeurs (protégé en CDATA)
				$genre = $xml->createElement("Gender");
				$genre = $user->appendChild($genre);
				$t_genre = $xml->createCDATASection(strtolower($tableau_general[$action][$numero][3])); /// genre = M ou F  = $tableaucsv[$i][3]
				$t_genre = $genre->appendChild($t_genre);
				
				///// Prenom Eleves/Professeurs (protégé en CDATA)
				$prenom = $xml->createElement("Firstname");
				$prenom = $user->appendChild($prenom);
				$t_prenom = $xml->createCDATASection($tableau_general[$action][$numero][2]); /// prenom_eleve ou prenom_prof = $tableaucsv[$i][2]
				$t_prenom = $prenom->appendChild($t_prenom);
				
				///// Nom Eleves/Professeurs
				$nom = $xml->createElement("Lastname");
				$nom = $user->appendChild($nom);
				$t_nom = $xml->createCDATASection($tableau_general[$action][$numero][1]); /// nom_eleve ou nom_prof = $tableaucsv[$i][1]
				$t_nom = $nom->appendChild($t_nom);
				
				///// e-mail Eleves/Professeurs
				$mail = $xml->createElement("Email");
				$mail = $user->appendChild($mail);
				$t_mail = $xml->createCDATASection($mail_commun); /// mail_eleve ou mail_prof
				$t_mail = $mail->appendChild($t_mail); /// correspond à ...  
		}
	}
	
	 ///// nom du fichier XML de sortie 
	$fichier_xml = "role_" .  @date("Y-M-d_H-i-s") . ".xml";
	$fichier_chemin_xml = recupIni("chemin_xml") . "\\" . $fichier_xml;
	
	///// création du fichier XML de sortie contenant la chaine xml construite avec DOMDocument
	$xml->save($fichier_chemin_xml);
	echo '<p>Le fichier XML <a href="xml/telechXML.php?fichier=';
        echo $fichier_xml;
        echo '" title="télécharger le fichier">' . $fichier_xml;
        echo '</a> a &eacute;t&eacute; cr&eacute;&eacute;.<br>';
        echo 'Vous pouvez le t&eacute;l&eacute;charger en cliquant sur le lien ci-dessus.</p><br>';

    session_destroy();        
	
	?>

	<?php
	
//        header('Content-type: application/pdf');
//        header('Content-Disposition: attachment; filename=$fichier_xml');
//        readfile('xml_de_sortie.pdf');
	
	?>

        <input class="btn btn-info" type="button" name="retour" id="retour" 
                   onclick="document.location.href = 'index.php'" 
                   value="Retourner à Accueil">           

    </body>
</html>        